package com.pine.app.module.security.oauth.user.authenticator;


import com.pine.app.module.security.core.userdetails.UserDetails;
import com.pine.app.module.security.oauth.user.IntegrationLoginRequest;


/**
 * @author XYJXUST
 * @date 2018-3-31
 **/
public interface IntegrationAuthenticator {

    /**
     * 处理集成认证
     * @param oAuth2Authentication
     * @return
     */
    UserDetails authenticate(IntegrationLoginRequest oAuth2Authentication);

     /**
     * 判断支持集成认证类型
     * @param integrationAuthentication
     * @return
     */
    boolean support(IntegrationLoginRequest integrationAuthentication);




}
